package models;

import java.util.Collections;
import java.util.LinkedList;
import java.util.List;

public class Banda implements Comparable<Banda>
{
	private String nome;
	private String Componentes[];//pod ser criado uma classe para isso
	private List<Show> ShowsDaBanda = new LinkedList<Show>();
	private String Historia; //enchimento de linguica
	private int numDeFans = 0;
	public Banda(String n, String c[])
	{
		nome = n;
		Componentes = c;
	}
	@Override
	public String toString()
	{
		return this.nome;
	}
	public void AddNewShow(Show c)
	{
		this.ShowsDaBanda.add(c);
		Collections.sort(ShowsDaBanda);
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String[] getComponentes() {
		return Componentes;
	}
	public void setComponentes(String[] componentes) {
		Componentes = componentes;
	}
	public List<Show> getShowsDaBanda() {
		Collections.sort(ShowsDaBanda);
		return ShowsDaBanda;
	}
	public void setShowsDaBanda(List<Show> showsDaBanda) {
		ShowsDaBanda = showsDaBanda;
	}
	public String getHistoria() {
		return Historia;
	}
	public void setHistoria(String historia) {
		Historia = historia;
	}
	public void incNumFans()
	{
		numDeFans++;
	}
	@Override
	public int compareTo(Banda o) {
		if(this.numDeFans > o.numDeFans)
		{
			return 1;
		}
		if(this.numDeFans < o.numDeFans)
		{
			return -1;
		}
		return 0;
	}
}
